package agb.servlets;

/*
 * Reporte.java
 *
 * Creado el 31 de octubre de 2008, 12:34 PM
 */

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 *
 * @author Lizardo Rios Villavicencio
 * @version
 */
public class SrvReporteNota extends HttpServlet {
    /*  Declaracion de Variables Globales */
    ServletContext m_context = null;        // Usado para escribir el archivo log
    HttpSession session = null;             // Para declarar variables de session
    
    @Override
    public void init(ServletConfig config)throws ServletException {
        super.init(config);
    }
    
    @Override
    public void destroy() {
    
    }
    
    //Metodo que procesa las consultas
    public void procesaConsulta(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        //Datos de configuracion de la pagina web
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();  // separar los reportes
        
        //Obtenemos parametros enviados por la pagina web
        session = request.getSession(true);
        String anio = session.getAttribute("s_anio") == null ? "0" : (String) session.getAttribute("s_anio");
        String nombrePeriodo = request.getParameter("nombrePeriodo");
        session.setAttribute("s_nombre_periodo", nombrePeriodo);
        int codNivel = session.getAttribute("s_codigo_nivel") == null ? 0 : (Integer) session.getAttribute("s_codigo_nivel");
        
        RequestDispatcher rd;   //Redirige la accion a otra pagina
        String next = null;     //Variable que almacena la pagina a redirigir
        String mensaje = null;  //Para mandar los mensajes al usuario 
        try {
            //Tipo de consulta del cliente
            switch (codNivel) {
                case 2:
                case 4: 
                    next = "/Nota" + anio + "Bimestral";
                    break;
                case 7:
                    next = "/Nota" + anio + "Trimestral";
                    break;
            }
            
            if(session.getAttribute("s_conectado") != null) {
                // conectado...
            } else {
                mensaje="Usuario no inicio sesion o la sesion a expirado..!"; 
                session.setAttribute("s_mensaje",mensaje);
                next="/dinamica/mensaje.jsp";
            }
            //Redirijo la accion hacia una pagina jsp
            rd=this.getServletContext().getRequestDispatcher(next);
            rd.forward(request,response);
                
        } catch (Throwable t) {
            out.println(t.toString());
            t.printStackTrace();
        }
    }
    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        procesaConsulta(request, response);
    }
    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        procesaConsulta(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
    
}
